package jk.framework.canary.core;

import jk.framework.canary.core.engine.CanaryPublishEngine;
import jk.framework.canary.core.mather.VersionMatcher;
import jk.framework.canary.core.repository.VersionInfoRepository;
import jk.framework.canary.core.rule.RouteRuleChain;
import jk.framework.canary.core.version.VersionController;

/**
 * @author cuichao
 * 金丝雀发布配置模块
 */
public class CanaryConfigure {


    private CanaryPublishEngine publishEngine;

    private VersionInfoRepository versionInfoRepository;

    private RouteRuleChain ruleChain;

    private VersionMatcher versionMatcher;


    public CanaryPublishEngine getPublishEngine() {
        return publishEngine;
    }

    public CanaryConfigure setPublishEngine(CanaryPublishEngine publishEngine) {
        this.publishEngine = publishEngine;
        return this;
    }


    public VersionInfoRepository getVersionInfoRepository() {
        return versionInfoRepository;
    }

    public CanaryConfigure setVersionInfoRepository(VersionInfoRepository versionInfoRepository) {
        this.versionInfoRepository = versionInfoRepository;
        return this;
    }

    public RouteRuleChain getRuleChain() {
        return ruleChain;
    }

    public CanaryConfigure setRuleChain(RouteRuleChain ruleChain) {
        this.ruleChain = ruleChain;
        return this;
    }

    public VersionMatcher getVersionMatcher() {
        return versionMatcher;
    }

    public void setVersionMatcher(VersionMatcher versionMatcher) {
        this.versionMatcher = versionMatcher;
    }
}
